A cidade de Los Angeles é uma das maiores e mais populosas dos Estados Unidos, com uma diversidade de bairros e uma dinâmica urbana complexa. Compreender os padrões de criminalidade é essencial para a formulação de políticas públicas eficazes, alocação de recursos de segurança e conscientização da comunidade. Este relatório tem como objetivo analisar os dados de crimes reportados em Los Angeles a partir de 2020, identificando tendências, áreas de maior incidência e fatores associados.
Para abordar essa questão, utilizarei o conjunto de dados Crime Data from 2020 to Present, disponibilizado pelo Los Angeles Police Department (LAPD). A metodologia inclui a limpeza e preparação dos dados, análise exploratória, criação de visualizações e identificação de padrões relevantes.
A técnica adotada inclui: - Análise temporal para identificar tendências de criminalidade ao longo do tempo. - Análise geográfica para mapear áreas de maior incidência de crimes. - Exploração de correlações entre tipos de crimes e variáveis como localização e horário. - Criação de novas variáveis, como taxa de crimes por região.
Esta análise será útil para: - Órgãos de segurança pública, que podem utilizar os insights para alocar recursos de forma mais eficiente. - Comunidades locais, que podem se conscientizar sobre os crimes mais comuns em suas áreas. - Pesquisadores e acadêmicos, que podem utilizar os dados para estudos mais aprofundados.
## [1] "LC_COLLATE=Portuguese_Brazil.1252;LC_CTYPE=Portuguese_Brazil.1252;LC_MONETARY=Portuguese_Brazil.1252;LC_NUMERIC=C;LC_TIME=Portuguese_Brazil.1252"
library(knitr)
library(ggplot2)
library(dplyr)
library(rmdformats)
library(leaflet)
library(leaflet.extras)
library(lubridate)| Biblioteca | Função Principal |
|---|---|
| ggplot2 | Visualização de dados |
| dplyr | Manipulação de dados |
| rmdformats | Formatação de documentos R Markdown |
| leaflet | Criação de mapas interativos |
| leaflet.extras | Extensões de mapas interativos |
| lubridate | Manipulação de datas e horários |
Listando as colunas presentes no dataset.
## [1] "DR_NO" "Date.Rptd" "DATE.OCC" "TIME.OCC"
## [5] "AREA" "AREA.NAME" "Rpt.Dist.No" "Part.1.2"
## [9] "Crm.Cd" "Crm.Cd.Desc" "Mocodes" "Vict.Age"
## [13] "Vict.Sex" "Vict.Descent" "Premis.Cd" "Premis.Desc"
## [17] "Weapon.Used.Cd" "Weapon.Desc" "Status" "Status.Desc"
## [21] "Crm.Cd.1" "Crm.Cd.2" "Crm.Cd.3" "Crm.Cd.4"
## [25] "LOCATION" "Cross.Street" "LAT" "LON"
Para cada coluna presente acima uma breve explicação de seu conteúdo.
Abaixo está uma explicação detalhada das colunas presentes no conjunto de dados Crime Data from 2020 to Present.
DR_NO
Date.Rptd
DATE.OCC
TIME.OCC
AREA
AREA.NAME
Rpt.Dist.No
Part.1.2
Crm.Cd
Crm.Cd.Desc
Mocodes
Vict.Age
Vict.Sex
Vict.Descent
Premis.Cd
Premis.Desc
Weapon.Used.Cd
Weapon.Desc
Status
Status.Desc
Crm.Cd.1, Crm.Cd.2,
Crm.Cd.3, Crm.Cd.4
LOCATION
Cross.Street
LAT
LON
Desta forma torna-se notável que podemos remover algumas colunas que são demonstradas de forma redundante, sendo assim podem ser removidas.
dados <- dados[, !(names(dados) %in% c("DR_NO", "Rpt.Dist.No", "Status", "Premis.Cd", "Weapon.Used.Cd"))]AREA e
AREA.NAME representando a localização do crime.Status.Desc, que já fornece a descrição
do status do caso de forma mais interpretável.Premis.Desc já contém a descrição do local do crime de
forma mais clara.Weapon.Desc já fornece a descrição completa da arma
utilizada no crime.Para melhor identificação de seus itens já que a mesma era marcada apenas no formato de letras, sem sua categoria bem demarcada.
# Dicionário de códigos de descendência
descendencia_dict <- c(
"A" = "Outros Asiáticos",
"B" = "Negros/Afro-americanos",
"C" = "Chineses",
"D" = "Cambojanos",
"F" = "Filipinos",
"G" = "Guamanianos",
"H" = "Hispânicos/Latinos",
"I" = "Índios Americanos",
"J" = "Japoneses",
"K" = "Coreanos",
"L" = "Laocianos",
"O" = "Outros",
"P" = "Ilhas do Pacífico",
"S" = "Samoanos",
"U" = "Havaianos",
"V" = "Vietnamitas",
"W" = "Brancos",
"Z" = "Asiáticos"
)Nesta seção, exploramos os dados de crimes em Los Angeles de 2020 até o presente, utilizando visualizações e estatísticas descritivas para identificar padrões e tendências.
O primeiro passo na análise foi examinar a distribuição das idades das vítimas, excluindo registros com idades ausentes ou iguais a zero. A média e a mediana das idades foram calculadas para fornecer uma visão geral das vítimas.
dados_filtrados <- dados[!is.na(dados$Vict.Age) & dados$Vict.Age > 0, ]
media_idade <- mean(dados_filtrados$Vict.Age, na.rm = TRUE)
mediana_idade <- median(dados_filtrados$Vict.Age, na.rm = TRUE)
ggplot(dados_filtrados, aes(x = Vict.Age)) +
geom_histogram(binwidth = 5, fill = "#ff6f61", color = "#333333", alpha = 0.8) +
geom_vline(aes(xintercept = media_idade), color = "blue", linetype = "dashed", size = 1) +
geom_vline(aes(xintercept = mediana_idade), color = "green", linetype = "dotted", size = 1) +
annotate("text", x = media_idade + 10, y = 5000, label = paste("Media:", round(media_idade, 1)), color = "blue") +
annotate("text", x = mediana_idade - 10, y = 5000, label = paste("Mediana:", mediana_idade), color = "green") +
labs(
title = "Dados filtrados para idades das vitimas (maiores que 0)",
x = "Idade da Vitima",
y = "Frequencia",
caption = "Fonte: Los Angeles Police Department (LAPD)"
) +
theme_minimal() +
theme(
plot.title = element_text(size = 18, face = "bold", hjust = 0.5),
plot.subtitle = element_text(size = 12, hjust = 0.5),
axis.title = element_text(size = 14),
axis.text = element_text(size = 12),
panel.grid.major = element_line(color = "gray80"),
panel.grid.minor = element_blank()
)## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## i Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
Em seguida, foi analisada a frequência dos tipos de armas utilizadas nos crimes, destacando os 10 tipos mais comuns.
armas_frequencia <- dados %>%
filter(!is.na(Weapon.Desc) & Weapon.Desc != "") %>% # Remove valores NA e vazios
group_by(Weapon.Desc) %>%
summarise(Contagem = n()) %>%
arrange(desc(Contagem)) %>%
top_n(10)## Selecting by Contagem
ggplot(armas_frequencia, aes(x = reorder(Weapon.Desc, Contagem), y = Contagem)) +
geom_bar(stat = "identity", fill = "blue", alpha = 0.8) + # Cor moderna
geom_text(aes(label = Contagem), hjust = -0.2, color = "#333333", size = 4) + # Rótulos nas barras
labs(
title = "Dados filtrados para os tipos de armas mais frequentes",
x = "Tipo de Arma",
y = "Numero de Ocorrencias",
caption = "Fonte: Los Angeles Police Department (LAPD)"
) +
coord_flip() +
theme_minimal() +
theme(
plot.title = element_text(size = 18, face = "bold", hjust = 0.5),
plot.subtitle = element_text(size = 12, hjust = 0.5),
axis.title = element_text(size = 14),
axis.text = element_text(size = 12),
panel.grid.major = element_line(color = "gray80"),
panel.grid.minor = element_blank(),
plot.caption = element_text(size = 10, hjust = 1)
)Para entender a concentração dos crimes, foi feita uma análise da distribuição de crimes por área.
crimes_por_area <- dados %>%
group_by(AREA.NAME) %>%
summarise(Contagem = n()) %>%
arrange(desc(Contagem))
ggplot(crimes_por_area, aes(x = reorder(AREA.NAME, Contagem), y = Contagem)) +
geom_bar(stat = "identity", fill = "blue", alpha = 0.8) +
labs(
title = "Distribuição de Crimes por Área em Los Angeles (2020-Presente)",
x = "Área",
y = "Número de Crimes",
caption = "Fonte: Los Angeles Police Department (LAPD)"
) +
coord_flip() +
theme_minimal()Uma visualização de mapa foi gerada para mostrar a concentração de crimes em diferentes regiões de Los Angeles, para melhorar a definição anterior.